﻿using System;
using Pfz.Remoting;

namespace Pfz.RemoteGaming
{
	/// <summary>
	/// Argument passed to the RemoteGameListener.ClientConnected event.
	/// </summary>
	public sealed class RemoteGameConnectedEventArgs:
		EventArgs
	{
		/// <summary>
		/// Gets the Connection that just connected.
		/// </summary>
		public IConnection Connection { get; internal set; }


		/// <summary>
		/// Gets or sets the participant. Note that it starts as null.
		/// </summary>
		public RemoteGameParticipant Participant { get; set; }

		/// <summary>
		/// Gets or sets a flag telling the the client should be disconnected. It is only useful if Participant is kept as null.
		/// </summary>
		public bool ShouldDisconnect { get; set; }
	}
}
